package primary.code10_BigData;

/**
 * 问题
 * <p>
 * 有一个包含200个亿全是32位整数（4byte）的大文件，在其中找到出现次数最多的数。
 * <p>
 * 分析
 * <p>
 * 一般的处理方法，对文件进行排序 或者 遍历文件到HashMap(num, times)。
 * 局限：200 * 10^8 * 4B * 2 = 160G，该算法占用的空间太高，超出了单台服务器的内存上限。
 * <p>
 * 大数据处理方法：将文件进行分片，把大文件拆分成多个单台服务器可处理的小文件，最后把小文件的结果合并成最终结果。
 * 为了到达这个效果，就要求拆分大文件时，将相同的整数放到同一小文件中。
 * <p>
 * 例如，将大文件拆分成20个小文件：遍历大文件，Hash(int) % 20 的值决定去哪个小文件
 *
 */
public class Code05_Hash_MaxTimesNum {
}
